﻿Imports System.Data
Imports VSModel
Imports Cls_Common
Imports SecurityService

Partial Class FrontEnd_Control_Product_ContentEditor
    Inherits System.Web.UI.UserControl
    Private Shared ReadOnly log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
#Region "Sub and Function "
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then

            Dim curId As Integer = IIf(Request.QueryString("Id") Is Nothing, 0, Request.QueryString("Id"))
            If curId <> 0 Then
                'LoadListStatus(curId)
            End If
            'active tab tuong ung voi Page
            'InVisble button ko can thiet
            If Request.PhysicalPath.Contains("quan-ly-san-pham.html") Then
                lbtList.CssClass = "current_manage"
                lbtList.Text = "<span class='current_manage'>Quản lý</span>"
                lbtEdit.Visible = False
                lbtView.Visible = False
                btnDelete.Visible = False
                tabs_state.Visible = False
                cboAction.Visible = False
                'Permission
                ' lbtAdd.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Create)
            ElseIf Request.PhysicalPath.Contains("tao-moi-san-pham.html") Then
                lbtAdd.CssClass = "current_manage"
                lbtAdd.Text = "<span class='current_manage'>Đăng sản phẩm</span>"
                lbtEdit.Visible = False
                lbtView.Visible = False
                btnDelete.Visible = False
                tabs_state.Visible = False
                cboAction.Visible = False
                'Permission
                'lbtAdd.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Create)
            ElseIf Request.PhysicalPath.Contains("chi-tiet-san-pham.html") Then
                lbtView.CssClass = "current_manage"
                lbtView.Text = "<span class='current_manage'>Xem</span>"
                'Permission
                ' setPermission()
            ElseIf Request.PhysicalPath.Contains("chinh-sua-san-pham.html") Then
                lbtEdit.CssClass = "current_manage"
                lbtEdit.Text = "<span class='current_manage'>Sửa</span>"
                'Permission
                'setPermission()
            End If
            If Not Request.QueryString("Id") Is Nothing Then
                hidID.Value = Request.QueryString("Id") 'Load list action status    Dim ArrId As String() = hidID.Value.Split(",")    If (ArrId.Length <= 1) Then        LoadListStatus(hidID.Value)    End If    'Permission    btnDelete.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Delete)
                btnDelete.Attributes.Add("onclick", "return ComfirmDialog('Bạn có chắc chắn muốn xóa không?',0,'" + btnDelete.ClientID + "','" + hidID.Value.ToString + "',1);")
                Using data As New VSEntities
                    Dim intId As String = hidID.Value
                    Dim q = (From p In data.Products Where p.ProductId = intId Select p).FirstOrDefault
                    ' Response.Redirect(MainDomain & q.QueryString & "-" & hidID.Value & ".html")
                    lbtView.Attributes.Add("onclick", "window.open('" & MainDomain & q.QueryString & "-" & hidID.Value & ".html" & "');return false;")
                End Using
            End If

        End If
    End Sub
    'Protected Sub setPermission()
    '    lbtAdd.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Create)
    '    lbtView.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.ViewContent)
    '    lbtEdit.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Edit)
    '    btnDelete.Visible = HasPermission(Function_Name.Product, Session("RoleID"), 0, Audit_Type.Delete)
    'End Sub
    'Load list action status of current status
    'Sub LoadListStatus(ByVal iProductId As Integer)
    '    Using Data As New VSEntities
    '        'Get Current StatusId of object
    '        Dim cst = (From q In Data.Products Where q.ProductId = iProductId Select q).SingleOrDefault
    '        hidStatusId.Value = cst.StatusId
    '        Dim iCurrentStatusId As Byte = cst.StatusId
    '        'Load action tuong ung voi current statusid
    '        Dim st = (From q In Data.StatusActions Where q.CurrentStatusId = iCurrentStatusId And q.FunctionId = Function_Name.Product Select q Order By
    '                 q.ActionId, q.Action.Title, q.Action.AuditNumber).ToList()
    '        For Each i In st
    '            If HasPermission(Function_Name.Product, Session("RoleID"), i.CurrentStatusId, i.Action.AuditNumber) Then
    '                Dim _item As New ListItem("---" & i.Action.Title, i.ActionId)
    '                cboAction.Items.Insert(0, _item)
    '            End If
    '        Next
    '        Dim _status = (From q In Data.Status Where q.StatusId = iCurrentStatusId And q.FunctionId = Function_Name.Product).FirstOrDefault
    '        If Not _status Is Nothing Then
    '            Dim lstItem As New ListItem(_status.Title, "")
    '            cboAction.Items.Insert(0, lstItem)
    '            cboAction.SelectedIndex = -1
    '        End If
    '    End Using
    'End Sub
    Protected Sub lbtList_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtList.Click
        Response.Redirect("quan-ly-san-pham.html")
    End Sub
    Protected Sub lbtAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtAdd.Click
        Response.Redirect("tao-moi-san-pham.html")
    End Sub
    Protected Sub lbtEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtEdit.Click
        Response.Redirect("chinh-sua-san-pham.html?Id=" & hidID.Value & "")
    End Sub
    Protected Sub lbtView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtView.Click
              ' Response.Redirect(MainDomain & q.QueryString & "-" & hidID.Value & ".html")
        '  lbtView.Attributes.Add("onclick", "window.open('" & MainDomain & q.QueryString & "-" & hidID.Value & ".html" & "');return false;")

    End Sub
    Protected Sub lnkbtnDelete_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDelete.Click
        Dim intId As Integer
        Dim strLogName As String = ""
        Using data As New VSEntities
            intId = hidID.Value
            Dim q = (From p In data.Products Where p.ProductId = intId Select p).FirstOrDefault
            Try
                data.Products.DeleteObject(q)
                data.SaveChanges()
                Excute_Javascript("Alertbox('Xóa dữ liệu thành công.');window.location ='" + MainDomain + "quan-ly-san-pham.html';", Me.Page, True)
            Catch ex As Exception
                log4net.Config.XmlConfigurator.Configure()
                log.Error("Error error " & AddTabSpace(1) & Session("Username") & AddTabSpace(1) & "IP:" & GetIPAddress(), ex)
                Excute_Javascript("Alertbox('Xóa thất bại.');", Me.Page, True)
            End Try
        End Using
    End Sub
    Protected Sub cboAction_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboAction.SelectedIndexChanged
        'Nếu trạng thái đang chọn khác với trạng thái ban đầu thì mới đi chuyển trạng thái
        'If (cboAction.SelectedValue <> cboAction.Items(0).Value) Then
        '    Response.Redirect("Action.aspx?ProductId=" & hidID.Value & "&CStatusId=" & cboAction.Items(0).Value & "&NStatusId=" & cboAction.SelectedValue)
        'End If
    End Sub
#End Region
End Class
